throw

Доступность

Flash Player 7.

Синтаксис

throw выражение

Описание

Выражение; генерирует, или выдает ошибку, которая должна быть обработана (поймана) блоком catch{}. Если исключение, выданное блоку catch, не обработано, строковое значение сгенерированной величины отправляется на панель Output.

Обычно генерируют экземпляры класса Error или его подклассов (смотри пункт Пример).

Параметры

expression Выражение или объект.

Пример

В этом примере функция checkEmail() проверяет, является ли переданная строка корректным e-mail адресом. Если строка не содержит символ @ , функция генерирует ошибку.

function checkEmail(email:String) {
  if (email.indexOf("@") == -1) {
    throw new Error("Invalid email address");
  }
}
checkEmail(“someuser_theirdomain.com”);

Следующий код вызывает функцию checkEmail() с блоком кода try. Если строка email_txt не является корректным e-mail адресом, в текстовом поле (error_txt) появится сообщение об ошибке.

try {
  checkEmail("Джо Смит”);
} catch (e) {
  error_txt.text = e.toString();
}

Код ниже генерирует ошибку, являющуюся подклассом класса Error. Функция checkEmail() модифицирована для того, чтобы генерировать ошибки созданного подкласса. (Для более подробной информации смотри "Создание подклассов " в Использовании ActionScript во Flash.)

// Определяем подкласс класса Error, назовем его InvalidEmailError
// В файле InvalidEmailError.as:
class InvalidEmailAddress extends Error {
  var message = "Неверный адрес email.";
}

В FLA файле введите следующий код в первый кадр Таймлайна:

import InvalidEmailAddress;
function checkEmail(email:String) {
  if (email.indexOf("@") == -1) {
    throw new InvalidEmailAddress();
  }
}
try {
  checkEmail("Джо Смит");
} catch (e) {
  this.createTextField("error_txt", this.getNextHighestDepth(), 0, 0, 100, 22);
  error_txt.autoSize = true;
  error_txt.text = e.toString();
}

См. также

Error class, try..catch..finally